package com.ts.api.module.common.entity.bo;

import com.gitee.apanlh.util.base.ChooseEq;
import com.gitee.apanlh.util.base.Eq;
import lombok.Data;

/**
 *  检测手机号状态
 *
 *  @author Pan
 */
@Data
public class CheckPhoneStatusBO {

    /** 手机号状态（0.实号，1.空号，2.停机，3.错误号, 4.通话中，5.关机 6.无短信能力，7.欠费 100.空号检测异常） */
    private String phoneStatus;
    /** 运营商(0电信，1移动，2联通，3未知) */
    private String carrier;

    /**
     *  判断是否为非法手机号（包含空号，错误号）状态
     *
     *  @return boolean
     */
    public boolean hasErrorStats() {
        //  三个状态可通过检测
        if (Eq.strOr(this.getPhoneStatus(), "0", "7", "100")) {
            return false;
        }
        //  其余走错误状态
        return true;
    }

    /**
     *  获取手机状态字符串中文
     *
     *  @return String
     */
    public String getPhoneStatusText() {
        String text = ChooseEq.create(this.getPhoneStatus())
            .when("0", "实号")
            .when("1", "空号")
            .when("2", "停机")
            .when("3", "错误号")
            .when("4", "通话中")
            .when("5", "关机")
            .when("6", "无短信能力")
            .when("7", "欠费")
            .when("100", "空号检测异常")
        .end();
        return text;
    }
}
